package com.shunde.xunjian.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.sql.Timestamp;

/**
 * @author shantaoke
 * @description report_orders
 * @date 2023-07-12
 */
@Data
public class ReportOrders implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId
    /**
     * order_id
     */
    private String orderId;

    /**
     * order_type
     */
    private String orderType;


    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    /**
     * order_status
     */
    private String orderStatus;

    /**
     * report_type
     */
    private String processingMethod;

    /**
     * reporter
     */
    private String reporter;

    /**
     * report_time
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp reportTime;

    /**
     * urgency_level
     */
    private String urgencyLevel;

    /**
     * facility_id
     */
    private String facilityId;

    /**
     * address
     */
    private String address;

    /**
     * order_source
     */
    private String orderSource;

    /**
     * area
     */
    private String area;

    /**
     * town_street
     */
    private String townStreet;

    /**
     * facility_type
     */
    private String facilityType;

    /**
     * facility_problem
     */
    private String facilityProblem;

    /**
     * problem_description
     */
    private String problemDescription;

    /**
     * pipe_problem_type
     */
    private String pipeProblemType;

    /**
     * well_grate_count
     */
    private Integer wellGrateCount;

    /**
     * water_level
     */
    private Double waterLevel;

    /**
     * silt_depth
     */
    private Double siltDepth;

    /**
     * operation_method
     */
    private String operationMethod;

    /**
     * operation_duration
     */
    private Integer operationDuration;

    /**
     * safety_measures
     */
    private String safetyMeasures;

    /**
     * suggested_replacement_spec
     */
    private String suggestedReplacementSpec;

    /**
     * suggested_replacement_material
     */
    private String suggestedReplacementMaterial;

    /**
     * problem_pipe_length
     */
    private Double problemPipeLength;

    /**
     * facility_closeup_photos
     */
    private String facilityCloseupPhotos;

    /**
     * surrounding_env_photos
     */
    private String surroundingEnvPhotos;

    /**
     * specific_identification_photos
     */
    private String specificIdentificationPhotos;

    /**
     * facility_schematic_photos
     */
    private String facilitySchematicPhotos;

    /**
     * inspection_audio
     */
    private String inspectionAudio;

    /**
     * handle_status
     */
    private String handleStatus;

    /**
     * consumables_used
     */
    private String consumablesUsed;

    /**
     * consumables_specification
     */
    private String consumablesSpecification;

    /**
     * mechanical_equipment
     */
    private String mechanicalEquipment;

    /**
     * maintenance_content
     */
    private String maintenanceContent;

    /**
     * planned_start_time
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp plannedStartTime;

    /**
     * planned_completion_time
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp plannedCompletionTime;

    /**
     * actual_start_time
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp actualStartTime;

    /**
     * actual_completion_time
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp actualCompletionTime;

    /**
     * quantity_list
     */
    private String quantityList;

    /**
     * labor_count
     */
    private Integer laborCount;

    /**
     * cleaning_amount
     */
    private Double cleaningAmount;

    /**
     * cleanup_pipe_length
     */
    private Double cleanupPipeLength;

    /**
     * before_photo
     */
    private String beforePhoto;

    /**
     * during_photo
     */
    private String duringPhoto;

    /**
     * after_photo
     */
    private String afterPhoto;

    /**
     * remarks
     */
    private String remarks;

    /**
     * auditor
     */
    private String auditor;

    /**
     * audit_time
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp auditTime;

    /**
     * handler
     */
    private String handler;

    /**
     * handle_time
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp handleTime;

    /**
     * inspector
     */
    private String inspector;

    /**
     * inspection_time
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp inspectionTime;

    /**
     * rejector
     */
    private String rejector;

    /**
     * rejection_time
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp rejectionTime;

    /**
     * rejection_reason
     */
    private String rejectionReason;

    /**
     * sTime
     */
    @TableField(exist = false)
    private String sTime;

    /**
     * eTime
     */
    @TableField(exist = false)
    private String eTime;

}
